package cn.qiao.demo.bubbling;

/**
 * desc:
 * 选择排序算法
 *  将数组中的第一个数与后面的每一个数进行对比, 若这个数比后面的数都要小/大则将该数放在第一位, 如果碰到一个数比第一个数大/小 则继续将这个数与之后的数相比, 直到选出一个最大或者最小的数据
 *
 * @author qiao
 * @date 2023年04月19日 21:50
 */
public class Choose {

    public static void main(String[] args) {

//        int[] a = {6, 1, 4, 6, 1, 2, 1, 4, 8};
        int[] a = {6, 4, 1, 7, 2, 1, 5, 8};

        for (int i = 0; i < a.length; i++) {
//            假设第一个数为最大
            int max = a[i];
//            记录最大数所在的索引位置
            int index = i;
            for (int j = i+1; j < a.length; j++) {
                if (max < a[j]){
                    index = j;
                    max = a[j];
                }
            }
            int temp = a[i];
            a[i] = a[index] ;
            a[index] = temp;
        }

        for (int i : a) {
            System.out.println(i);
        }
    }

}
